package com.woniuxy.oa.service.impl;

import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.woniuxy.oa.dao.NoticeAndImgeDAO;
import com.woniuxy.oa.dao.NoticeDAO;
import com.woniuxy.oa.entity.Notice;
import com.woniuxy.oa.entity.NoticeAndImge;
import com.woniuxy.oa.service.NoticeService;
import com.woniuxy.oa.util.OaUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import java.util.List;

/**
 * @author Mr X
 */
@Service
@Transactional
public class NoticeServiceImpl implements NoticeService {
    @Autowired
    private NoticeDAO noticeDAO;
    @Autowired
    private NoticeAndImgeDAO noticeAndImgeDAO;

    /**
     * 增加
     *
     * @param notice
     */
    @Override
    public void add(Notice notice, List<String> imges) {
        notice.setId(OaUtil.getId());
        notice.setStatus("1");
        notice.setPubDate(OaUtil.getNow());
        noticeDAO.add(notice);

        if (imges != null) {
            for (String imge : imges) {
                NoticeAndImge noticeAndImge = new NoticeAndImge();
                noticeAndImge.setId(OaUtil.getId());
                noticeAndImge.setNoticeId(notice.getId());
                noticeAndImge.setUrl(imge);
                noticeAndImge.setStatus("1");
                noticeAndImgeDAO.add(noticeAndImge);
            }
        }


    }

    /**
     * 修改
     *
     * @param notice
     */
    @Override
    public void update(Notice notice) {
        noticeDAO.update(notice);
    }

    /**
     * 通过ID删除
     *
     * @param id
     */
    @Override
    public void delete(String id) {
        noticeDAO.delete(id);
    }

    /**
     * 分页条件
     *
     * @param notice
     * @return
     */
    @Override
    public PageInfo getPageBean(Notice notice, Integer page) {
        PageHelper.startPage(page, 10);
        List<Notice> noticeList = noticeDAO.getAll(notice);
        PageInfo pageInfo = new PageInfo(noticeList);
        return pageInfo;
    }

    /**
     * 批量删除
     *
     * @param ids
     */
    @Override
    public void del(String[] ids) {
        if (ids != null) {
            for (String id : ids) {
                noticeDAO.delete(id);
            }
        }
    }

}
